import { ref } from 'vue'
import { defineStore } from 'pinia'
// 注意：加上type声明，导入的是类型
import type { User } from '@/types/user'

export const useUserStore = defineStore(
  'cp-user',
  () => {
    // 1. 登录成功后台返回的用户数据（包含token、登录用户信息）
    const user = ref({} as User)
    const other = ref(true)

    // 2. 存user方法 =》登录成功后使用
    const setUser = (_user: User) => {
      user.value = _user
    }

    // 3. 删user方法=》退出登录
    const delUser = () => {
      user.value = {} as User
    }

    return { user, setUser, delUser, other }
  },
  // 1. 开启持久化=> 存储当前store所有变量
  // {
  //   persist: true
  // }
  // 2. 自定义存储：存储名字 + 存什么变量
  {
    persist: {
      key: 'cp-user-152', // 存储名字
      paths: ['user'] // 存什么变量，把变量名以字符串形式放到数组中
    }
  }
)
